{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "from torch.nn import NLLLoss\n",
    "import torch.optim as optim\n",
    "import torchvision.transforms as transforms\n",
    "import torchvision.datasets as datasets\n",
    "import torch.backends.cudnn as cudnn\n",
    "\n",
    "%matplotlib inline\n",
    "import pylab as pl\n",
    "from IPython import display\n",
    "import time\n",
    "\n",
    "from helpful_files.networks import Network\n",
    "from helpful_files.training import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set Important Values\n",
    "\n",
    "# General settings\n",
    "datapath = './'                     # The location of your train, test, repr, and query folders. Make sure it ends in '/'!\n",
    "savepath = 'myModel.pth'            # Where should your trained model(s) be saved, and under what name?\n",
    "gpu = 0                             # What gpu do you wish to train on?\n",
    "workers = 1                         # Number of cpu worker processes to use for data loading\n",
    "epoch = 10                          # Number of passes over the dataset before the learning rate is cut\n",
    "ncuts = 5                           # Number of times to cut the learning rate before training completes\n",
    "verbosity = 50                      # How many batches in between status updates \n",
    "ensemble = 4                        # How many models to train in parallel\n",
    "torch.cuda.set_device(gpu)\n",
    "cudnn.benchmark = True\n",
    "\n",
    "# Batch construction\n",
    "way = 20                            # Number of classes per batch during training\n",
    "trainshot = 5                       # Number of images per class used to form prototypes\n",
    "testshot = 15                       # Number of images per class used to make predictions\n",
    "\n",
    "# Model construction\n",
    "folding = True                      # Use batch folding?\n",
    "covariance_pooling = True           # Use covariance pooling?\n",
    "localizing = True                   # Use localization?\n",
    "fewshot_local = True                # If you are using localization: few-shot, or parametric? Few-shot if True, param if False\n",
    "network_width = 64                  # Number of channels at every layer of the network\n",
    "\n",
    "# Data loading\n",
    "augmentation_flipping = True        # Horizontal flip data augmentation\n",
    "include_masks = (localizing         # Include or ignore the bounding box annotations?\n",
    "                 and fewshot_local)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Data loaded!\n"
     ]
    }
   ],
   "source": [
    "# Load Training Data\n",
    "\n",
    "d_boxes = torch.load('helpful_files/box_coords.pth')\n",
    "\n",
    "transform = transforms.Compose([\n",
    "    transforms.ToTensor(),\n",
    "    transforms.Normalize(mean=[0.4905, 0.4961, 0.4330],std=[0.1737, 0.1713, 0.1779])\n",
    "    ])\n",
    "\n",
    "if folding:\n",
    "    # Batch folding has no reference/query distinction\n",
    "    shots = [trainshot+testshot]\n",
    "else:\n",
    "    # Standard setup\n",
    "    shots = [trainshot, testshot]\n",
    "if localizing and fewshot_local and not folding:\n",
    "    # Unfolded prototype localizers need another set of reference images to inform foreground/background predictions\n",
    "    shots = [trainshot, trainshot, testshot-trainshot]\n",
    "    \n",
    "train_dataset = datasets.ImageFolder(\n",
    "    datapath+'train', \n",
    "    loader = lambda x: load_transform(x, d_boxes, transform, augmentation_flipping, include_masks))\n",
    "train_loader = torch.utils.data.DataLoader(\n",
    "    train_dataset, \n",
    "    batch_sampler = ProtoSampler(train_dataset, way, shots),\n",
    "    num_workers = workers,\n",
    "    pin_memory = True)\n",
    "print('Data loaded!')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "113088 parameters in each neural net.\n",
      "Ready to go!\n"
     ]
    }
   ],
   "source": [
    "# Make Models\n",
    "    \n",
    "models = [Network(network_width, folding, covariance_pooling, \n",
    "                  localizing, fewshot_local, shots).cuda() \n",
    "          for i in range(ensemble)]\n",
    "optimizer = [optim.Adam(m.parameters(), lr=.001) for m in models]\n",
    "scheduler = [optim.lr_scheduler.LambdaLR(o, lambda x: 1/(2**x)) for o in optimizer]\n",
    "criterion = NLLLoss().cuda()\n",
    "\n",
    "nweights = sum([i.numel() for i in list(models[0].parameters())])\n",
    "print(nweights,\"parameters in each neural net.\")\n",
    "print('Ready to go!')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#                                             TRAINING"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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udlXrlyZzceLiEiBM7ONuY4hR7KqH0F1pIjIeJRt/XhIs0e6+17gQYJBoJlaCNe4CBc+rGXo7iIiIiLjQV/9GJpOMF25iIhI1rKZPbIhbGHDzMqBtwN/7ldsKcFiixCsRH+/awE4ERGRpcBHw1kkzwJa3f2grpEiIiJDyaZ7ZCNwaziuLQLc4e6/MbPrgZXuvhS4Cfipma0jaGG7fNQiFhERyRNm9gvgAqDezFqArxNM2IW7/xBYRjBz5DqgA/jL3EQqIiKFbNikzd2fA04d4Ph1Gc+7gPePbGgiIiL5zd2vGOa8A58eo3BERKRIHdKYNhERERERERlbStpERERERETymJI2ERERERGRPKakTUREREREJI8paRMREREREcljStpERERERETymJI2ERERERGRPKakTUREREREJI8paRMREREREcljStpERERERETymJI2ERERERGRPKakTUREREREJI8paRMREREREcljStpERERERETymJI2ERERERGRPKakTUREREREJI8paRMREREREcljStpERERERETymJI2ERERERGRPKakTUREREREJI8paRMREREREcljwyZtZtZkZg+Y2Woze9HMrh2gzAVm1mpmz4SP60YnXBERERERkfEllkWZJPAFd3/KzKqBVWb2B3d/qV+5R9z9kpEPUUREREREZPwatqXN3be6+1Ph8zZgNTBttAMTERERERGRQxzTZmYzgVOB5QOcPtvMnjWze83shEFev9jMVprZyh07dhxysCIiIiIiIuNN1kmbmVUBdwGfc/d9/U4/BRzt7qcA3wPuGeg93H2Juze7e3NDQ8PhxiwiIiIiIjJuZJW0mVmcIGH7mbvf3f+8u+9z9/bw+TIgbmb1IxqpiIiIiIjIOJTN7JEG3ASsdvcbBilzVFgOMzszfN9dIxmoiIhIPjKzi8zsZTNbZ2ZfHuD8jHAW5qfN7DkzW5iLOEVEpHBlM3vkucBHgOfN7Jnw2FeBGQDu/kPgMuBTZpYEOoHL3d1HIV4REZG8YWZR4EbgHUALsMLMlvabYfnvgTvc/d/N7HhgGTBzzIMVEZGCNWzS5u6PAjZMme8D3x+poERERArEmcA6d18PYGa3AYuAzKTNgZrweS2wZUwjFBGRgndIs0eKiIjIG0wDNmXst3Dwsjj/AHzYzFoIWtn+ZqA30gzLIiIymIJO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3de7ew9wG7Aos4C7P+DuHeHuE8D0MY5RRESKgJI2ERGRwzMN2JSx3xIeG8w1wL2DnTSzxWa20sxW7tixY4RCFBGRYqCkTURE5PDYAMd8wIJmHwaagW8N9mbuvsTdm929uaGhYYRCFBGRYhDLdQAiIiIFqgVoytifDmzpX8jM3g78T+At7t49RrGJiEgRyaqlLYvZsa42sx1m9kz4+PjIhyoiIpJXVgBzzWyWmZUAlwNLMwuY2anAj4BL3X17DmIUEZEiMGxLW8bsWO8guKu4wsyWuvtL/Yre7u6fGYUYRURE8o67J83sM8DvgChws7u/aGbXAyvdfSlBd8gq4JdmBvCau1+as6BFRKQgZdM9sm92LAAz650dq3/SJiIiMq64+zJgWb9j12U8f/uYByUiIkUnm+6R2c6O9T/CxUPvNLOmAc5rZiwREREREZFDlE3Sls3sWL8GZoaLh94H3DrQG2lmLBERERERkUOTTdI27OxY7r4rY0asHwOnj0x4IiIiIiIi41s2SVs2s2M1ZuxeCqweuRBFRERERETGr2EnIslydqzPmtmlQBLYDVw9ijGLiIiIiIiMG1ktrp3F7FhfAb4ysqGJiIiIiIhIVotri4iIiIiISG4oaRMREREREcljStpERERERETymJI2ERERERGRPKakTUREREREJI8paRMREREREcljStpERERERETymJI2ERERERGRPKakTUREREREJI8paRMREREREcljStpERERERETymJI2ERERERGRPKakTUREREREJI8paRMREREREcljStpERERERETymJI2ERERERGRPKakTUREREREJI8paRMREREREcljStpERERERETymJI2ERERERGRPJZV0mZmF5nZy2a2zsy+PMD5UjO7PTy/3MxmjnSgIiIi+Uh1pIiIjLZhkzYziwI3AhcDxwNXmNnx/YpdA+xx9znAt4F/GelARURE8o3qSBERGQvZtLSdCaxz9/Xu3gPcBizqV2YRcGv4/E7gbWZmIxemiIhIXlIdKSIioy6bpG0asCljvyU8NmAZd08CrcCkkQhQREQkj6mOFBGRURfLosxAdwP9MMpgZouBxeFuu5m9nMXnD6Ue2HmE71GsdG0Gp2szMF2XwenaDOxQrsvRoxlIDqmOLEy6NgPTdRmcrs3AdF0Gl+21yap+zCZpawGaMvanA1sG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IiJSwZS0iYiIiIiIVDAlbSIiIsfJzC4zsyfMbKuZfXCE839lZpvN7FEz+4mZnVCOOEVEZHpT0iYiInIczCwK3ARcDqwErjWzlcOK/QZY5e6nA7cD/3dqoxQRkWqgpE1EROT4rAa2uvsz7p4FbgWuLi3g7j9z9/5w9wFg4RTHKCIiVUBJm4iIyPFpB7aV7HeEx0ZzPfCj0U6a2Roz22BmGzo7OycoRBERqQZK2kRERI6PjXDMRyxo9hZgFfCPo13M3de6+yp3X9XW1jZBIYqISDWIlTsAERGRaaoDWFSyvxDYMbyQmb0a+F/A77h7ZopiExGRKjKulrZxzI71NjPrNLOHw+UdEx+qiIhIRVkPLDOzpWaWAK4B1pUWMLOzgC8AV7n7njLEKCIiVWDMlraS2bEuJfhWcb2ZrXP3zcOK3ubu75mEGEVERCqOu+fN7D3AnUAUuNndN5nZjcAGd19H0B2yHvhPMwN4wd2vKlvQIiIyLY2ne+TQ7FgAZjY4O9bwpE1ERGRGcfc7gDuGHbuhZPvVUx6UiIhUnfF0jxzv7Fi/Hz489HYzWzTCec2MJSIiIiIicozGk7SNZ3as/wKWhA8P/TFwy0gX0sxYIiIiIiIix2Y8SduYs2O5+76SGbH+HThnYsITERERERGZ2caTtI1ndqz5JbtXAVsmLkQREREREZGZa8yJSMY5O9ZfmNlVQB7YD7xtEmMWERERERGZMcb1cO1xzI71IeBDExuaiIiIiIiIjOvh2iIiIiIiIlIeStpEREREREQqmJI2ERERERGRCqakTUREREREpIIpaRMREREREalgStpEREREREQqmJI2ERERERGRCqakTUREREREpIIpaRMREREREalgStpEREREREQqmJI2ERERERGRCqakTUREREREpIIpaRMREREREalgStpEREREREQqmJI2ERERERGRCqakTUREREREpIIpaRMREREREalgStpEREREREQqmJI2ERERERGRCqakTUREREREpIKNK2kzs8vM7Akz22pmHxzhfNLMbgvPP2hmSyY6UBERkUqkOlJERCbbmEmbmUWBm4DLgZXAtWa2clix64ED7n4y8M/AP0x0oCIiIpVGdaSIiEyF8bS0rQa2uvsz7p4FbgWuHlbmauCWcPt24BIzs4kLU0REpCKpjhQRkUkXG0eZdmBbyX4HcN5oZdw9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\n",
      "text/plain": [
       "<Figure size 1080x1080 with 8 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training loss is: [1.0343700823631692, 1.0423352207275147, 1.0307310916007832, 1.0307754997243272]\n",
      "Training accuracy is: [0.6697765957446803, 0.668308510638298, 0.6706436170212768, 0.6695265957446813]\n",
      "\n",
      "Approximately 0.08 hours to completion\n",
      "\n",
      "Training complete: 3.82 hours total\n"
     ]
    }
   ],
   "source": [
    "# Do the Thing!\n",
    "\n",
    "start = time.time()\n",
    "trainlosses, acctracker = [[] for _ in range(ensemble)],[[] for _ in range(ensemble)]\n",
    "epochs = ncuts*epoch\n",
    "for e in range(epochs):\n",
    "    \n",
    "    # Adjust learnrate\n",
    "    if e%epoch == 0:\n",
    "        [s.step() for s in scheduler]\n",
    "    \n",
    "    # Train for one epoch\n",
    "    trainloss, acc = train(train_loader, models, optimizer, criterion, way, shots, verbosity)\n",
    "    \n",
    "    # Update the graphics, report\n",
    "    display.clear_output(wait=True)\n",
    "    for j in range(ensemble):\n",
    "        trainlosses[j].append(trainloss[j])\n",
    "        acctracker[j].append(acc[j])\n",
    "    pl.figure(1, figsize=(15,15))\n",
    "    for i in range(ensemble):\n",
    "        pl.subplot(ensemble,2,2*i+1)\n",
    "        pl.plot(trainlosses[i])\n",
    "        pl.ylim((0,3))\n",
    "        pl.title(\"Training Loss\")\n",
    "        pl.subplot(ensemble,2,2*i+2)\n",
    "        pl.plot(acctracker[i])\n",
    "        pl.ylim((0,1))\n",
    "        pl.title(\"Training Acc\")\n",
    "    pl.show()\n",
    "    print(\"Training loss is: \"+str(trainloss)+\n",
    "            \"\\nTraining accuracy is: \"+str(acc)+\"\\n\")\n",
    "    print(\"Approximately %.2f hours to completion\"%(  (time.time()-start)/(e+1)*(epochs-e)/3600  ))\n",
    "    print()\n",
    "    \n",
    "print(\"Training complete: %.2f hours total\" % ((time.time()-start)/3600)) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Models saved!\n"
     ]
    }
   ],
   "source": [
    "# Save the model\n",
    "\n",
    "torch.save([m.encode.cpu().state_dict() for m in models], savepath)\n",
    "\n",
    "# If using parametric localization, save the extra parameters\n",
    "if localizing and not fewshot_local:\n",
    "    torch.save([m.postprocess.centroids.cpu() for m in models], \n",
    "               savepath[:savepath.rfind('.')]+'_localizers'+savepath[savepath.rfind('.'):])\n",
    "print(\"Models saved!\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Shut down the notebook"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "Jupyter.notebook.session.delete();\n"
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%%javascript\n",
    "Jupyter.notebook.session.delete();"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
